// 作业1：类型系统探索
// 创建一个TypeScript程序，展示至少5种不同的基本类型的使用，并添加注释说明每种类型的特点和适用场景。

// string类型：用于表示文本数据
// 特点：可以包含任何文本字符，支持模板字符串和各种字符串操作
// 适用场景：存储用户名、描述信息、URL地址等文本内容
let name1: string = "Alice"
console.log(name1)

// number类型：用于表示数值数据
// 特点：支持整数和浮点数，可以进行各种数学运算
// 适用场景：年龄、价格、计数器、坐标位置等数值计算
let age: number = 18
console.log(age)

// boolean类型：用于表示逻辑值
// 特点：只有true和false两个值，用于条件判断和逻辑运算
// 适用场景：开关状态、是否完成、权限验证等二元状态判断
let marriage: boolean = false
console.log(marriage)

// array数组类型：用于存储相同类型的多个元素
// 特点：有序集合，支持索引访问和各种数组方法
// 适用场景：存储列表数据，如用户列表、商品清单、操作历史等
let arr: number[] = [1, 2, 3]
console.log(arr)

// tuple元组类型：用于存储固定长度和已知类型的元素组合
// 特点：可以包含不同类型的元素，长度和类型固定
// 适用场景：函数返回多个值、坐标点表示、配置项组合等
let person: [string, number, boolean] = ["Alice", 18, false]
console.log(person)

// object对象类型：用于存储键值对集合
// 特点：可以包含多个属性，支持嵌套结构
// 适用场景：表示复杂数据结构，如用户信息、配置对象、API响应等
let obj: object = { name: "Alice", age: 18 }
console.log(obj)

